The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
A computing device may be characterized by its Instruction Set Architecture (ISA). Typically, a computing device may include Operating System (OS) services, and the OS services may include the runtime library services (LIB), developed for the ISA of the computing device, to facilitate application developers to develop applications to operate on the computing device. For example, various smartphones may be characterized by the use of the ARM processor and its ISA. These smartphones may include an OS, e.g., iOS from Apple® Computer or Android from Google®, in support of the various applications developed for the respective smartphones.
As central processing unit (CPU) architectures evolve, a computing device may include a CPU adapted to provide some new features—for example, IA-64 of the Intel® Processor Family may supply extra resources and capabilities (e.g., additional registers, register-based arguments, and instruction pointer relative addressing). However, the computing device may have stored therein a legacy application that may not be adapted to take advantage of the new features of the new CPU architecture. Traditionally, the legacy application would have to be recompiled according to a new ISA to take advantage of the new features, e.g., a 32-bit application may be recompiled to run in a 64-bit mode. However, recompilation of an entire application may be impractical. For example, even if recompiled to a 64-bit ISA, an application may rely on system libraries that have not been ported to the 64-bit ISA.